home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
AGSMC10.ZIP
/
MONITOR.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-27
|
6KB
|
516 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
DWord DWORD001
Integer INTEGER001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING010
String STRING011
Word WORD001
Word WORD002
Word WORD003
Word TWORD004(9)
Word WORD005
Word WORD006
Word WORD007
Word WORD008
Word WORD009
Word WORD010
Word WORD012
Declare Function FUNCTION001(String STRING009) String
Declare Function FUNCTION002() String
Declare Function FUNCTION003() Word
Declare Procedure PROC001()
Declare Procedure PROC002(String STRING008, Word WORD011)
Declare Procedure PROC005()
Declare Procedure PROC006(Word WORD014)
Declare Procedure PROC007(Word WORD013)
Declare Procedure PROC008()
Declare Procedure PROC009()
;------------------------------------------------------------------------------
STRING007 = PPEPath() + "GROUP.LOG"
GetUser
StartDisp 1
Print "@POFF@"
STRING001 = PPEPath() + "WORK\ORG.DAT"
If (Exist(STRING001)) Goto LABEL001
PROC008()
End
:LABEL001
DispFile PPEPath() + "MONITOR", 0 + 4
DWORD001 = Crc32(1, STRING001)
WORD010 = 1
AnsiPos 28, 7 + WORD010
Print "@X09■"
INTEGER001 = Time()
AnsiPos 1, 23
WORD005 = FileInf(STRING001, 4) / 2
PROC001()
For WORD002 = 1 To WORD005
AnsiPos 25, 7 + WORD002
If (WORD002 < 10) Then
Print "@X0F", WORD002
Else
Print "@X0F" + "0"
Endif
AnsiPos 29, 7 + WORD002
If (TWORD004(WORD002 - 1) <> 0) Then
RdUNet TWORD004(WORD002 - 1)
Print FUNCTION001(UN_Name())
Continue
Endif
Print "-"
Next
WORD009 = 1
AnsiPos 25, 19
Print "@X1F" + ScrText(25, 19, 15, 0)
AnsiPos 39, 19
Print "@X0F" + ScrText(39, 19, 15, 0)
AnsiPos 1, 23
While (1) Do
PROC009()
STRING003 = Inkey()
If ((STRING003 == "LEFT") || (STRING003 == "RIGHT")) Then
If (WORD009 == 1) Then
AnsiPos 25, 19
Print "@X0F" + ScrText(25, 19, 14, 0)
AnsiPos 39, 19
Print "@X1F" + ScrText(39, 19, 14, 0)
AnsiPos 1, 23
WORD009 = 2
Goto LABEL002
Endif
AnsiPos 25, 19
Print "@X1F" + ScrText(25, 19, 14, 0)
AnsiPos 39, 19
Print "@X0F" + ScrText(39, 19, 14, 0)
AnsiPos 1, 23
WORD009 = 1
:LABEL002
Continue
Endif
If (STRING003 == Chr(13)) Then
If (WORD009 == 1) Then
PROC005()
End
Goto LABEL005
Endif
STRING005 = FUNCTION002()
If (BOOLEAN002) Goto LABEL003
PrintLn
STRING005 = "/" + U_Name() + " : " + STRING005
WORD002 = FUNCTION003()
If (WORD002 <> 0) Then
FAppend 7, STRING007, 1, 0
FPutLn 7, PCBMac(" -*- @USER@ -------------------*>") + " (MONITOR.PPE) - PRIVATE TO #" + String(WORD002) + " :"
FPutLn 7, STRING005
FClose 7
PROC002(STRING005, WORD002)
STRING002 = ScrText(27, 7, 5, 1)
AnsiPos 27, 7
Print "@X8FSeNT!"
AnsiPos 1, 23
Delay 18
AnsiPos 1, 22
ClrEol
AnsiPos 27, 7
Print STRING002
Goto LABEL004
Endif
:LABEL003
AnsiPos 1, 22
ClrEol
:LABEL004
AnsiPos 1, 23
:LABEL005
Continue
Endif
If (STRING003 == Chr(27)) Then
PROC005()
End
Endif
EndWhile
End
;------------------------------------------------------------------------------
Procedure PROC001()
WORD008 = 0
FOpen 1, STRING001, 0, 3
FSeek 1, 0, 0
For WORD003 = 1 To WORD005
FRead 1, WORD002, 2
If (WORD002 <> 0) Then
Inc WORD008
If (WORD002 == PcbNode()) WORD001 = WORD003
TWORD004(WORD003 - 1) = WORD002
Continue
Endif
TWORD004(WORD003 - 1) = 0
Next
FClose 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC002(String STRING008, Word WORD011)
WORD007 = WORD011
If (WORD007 == 10) WORD007 = 0
FCreate 1, PPEPath() + "WORK\PVT." + String(WORD007), 1, 0
FPutLn 1, Left(STRING008, 80)
FClose 1
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001(String STRING009) String
STRING002 = Upper(STRING009)
STRING002 = Replace(STRING002, "A", "a")
STRING002 = Replace(STRING002, "E", "e")
STRING002 = Replace(STRING002, "I", "i")
STRING002 = Replace(STRING002, "O", "o")
STRING002 = Replace(STRING002, "U", "u")
FUNCTION001 = STRING002
EndFunc
;------------------------------------------------------------------------------
Procedure PROC005()
Color 15
Cls
AnsiPos 33, 11
Color 8
Gosub LABEL006
Color 7
Gosub LABEL006
Color 15
Gosub LABEL006
Color 7
Gosub LABEL006
Color 8
Gosub LABEL006
Color 15
Print " "
Goto LABEL007
:LABEL006
Print "<┤EGiS CoRP'94"
Delay 2
Backup 14
Return
:LABEL007
EndProc
;------------------------------------------------------------------------------
Function FUNCTION002() String
Word WORD012
BOOLEAN002 = 0
AnsiPos 1, 22
Print "@X0F"
Print "@X09MeSSaGE )> "
STRING004 = ""
:LABEL008
PROC009()
STRING003 = Inkey()
If (STRING003 <> "") Then
If (Len(STRING003) < 2) Then
If (STRING003 == Chr(27)) Then
BOOLEAN002 = 1
STRING003 = Chr(13)
Goto LABEL009
Endif
If (STRING003 == Chr(13)) Then
Goto LABEL009
Endif
If ((Asc(STRING003) > 31) && (Len(STRING004) < 50)) Then
Color 15
Print STRING003
STRING004 = STRING004 + STRING003
Endif
If (STRING003 == Chr(8)) Then
If (Len(STRING004) > 0) Then
Backup 1
Print "@X07 "
Backup 1
STRING004 = Mid(STRING004, 1, Len(STRING004) - 1)
Endif
Endif
Endif
Endif
Goto LABEL008
:LABEL009
FUNCTION002 = STRING004
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION003() Word
Word WORD013
WORD006 = 1
PROC006(1)
While (1) Do
PROC009()
If (BOOLEAN001) Then
PROC006(WORD006)
BOOLEAN001 = 0
Endif
STRING003 = Inkey()
If (STRING003 == "DOWN") Then
PROC007(WORD006)
Inc WORD006
If (WORD006 > WORD005) WORD006 = 1
PROC006(WORD006)
Continue
Endif
If (STRING003 == "UP") Then
PROC007(WORD006)
Dec WORD006
If (WORD006 == 0) WORD006 = WORD005
PROC006(WORD006)
Continue
Endif
If (STRING003 == Chr(13)) Then
If (TWORD004(WORD006 - 1)) Then
PROC007(WORD006)
FUNCTION003 = WORD006
Break
Endif
Continue
Endif
If (STRING003 == Chr(27)) Then
PROC007(WORD006)
FUNCTION003 = 0
Break
Endif
EndWhile
EndFunc
;------------------------------------------------------------------------------
Procedure PROC007(Word WORD013)
AnsiPos 29, 7 + WORD013
Print "@X0F" + ScrText(29, 7 + WORD013, 25, 0)
AnsiPos 1, 23
EndProc
;------------------------------------------------------------------------------
Procedure PROC006(Word WORD014)
AnsiPos 29, 7 + WORD014
Print "@X1F" + ScrText(29, 7 + WORD014, 25, 0)
AnsiPos 1, 23
EndProc
;------------------------------------------------------------------------------
Procedure PROC008()
Cls
DispFile PPEPath() + "NOBODY", 0 + 4
EndProc
;------------------------------------------------------------------------------
Procedure PROC009()
If (Exist(STRING001)) Goto LABEL010
PROC008()
End
:LABEL010
If (Exist(PPEPath() + "WORK\LOCKED.SEM")) Then
If (BOOLEAN003) Goto LABEL011
BOOLEAN003 = 1
STRING006 = ScrText(35, 7, 6, 1)
AnsiPos 36, 7
Print "@X0FLoCKeD"
AnsiPos 1, 23
:LABEL011
ElseIf (BOOLEAN003) Then
BOOLEAN003 = 0
AnsiPos 36, 7
Print STRING006
AnsiPos 1, 23
Endif
If (Exist(STRING001)) Then
If (Crc32(1, STRING001) <> DWORD001) Then
DWORD001 = Crc32(1, STRING001)
WORD005 = FileInf(STRING001, 4) / 2
PROC001()
BOOLEAN001 = 1
For WORD002 = 1 To WORD005
AnsiPos 25, 7 + WORD002
If (WORD002 < 10) Then
Print "@X0F", WORD002
Goto LABEL012
Endif
Print "@X0F" + "0"
:LABEL012
AnsiPos 29, 7 + WORD002
If (TWORD004(WORD002 - 1) <> 0) Then
RdUNet TWORD004(WORD002 - 1)
Print FUNCTION001(UN_Name())
Continue
Endif
Print "- "
Next
AnsiPos 1, 23
Goto LABEL013
Endif
If (INTEGER001 + 1 < Time()) Then
AnsiPos 28, 7 + WORD010
Print "@X0F "
Inc WORD010
If (WORD010 > WORD005) WORD010 = 1
AnsiPos 28, 7 + WORD010
Print "@X09■"
INTEGER001 = Time()
AnsiPos 1, 23
Endif
Endif
:LABEL013
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 2 Cls
; 2 ClrEol
; 8 Color
; 64 Goto
; 56 Let
; 30 Print
; 1 PrintLn
; 43 If
; 2 DispFile
; 1 FCreate
; 1 FOpen
; 1 FAppend
; 3 FClose
; 3 FPutLn
; 1 StartDisp
; 1 GetUser
; 5 Gosub
; 1 Return
; 2 Delay
; 3 Inc
; 1 Dec
; 2 RdUNet
; 35 AnsiPos
; 3 Backup
; 1 FSeek
; 1 FRead
; 7 EndProc
; 3 EndFunc
;
;
; ■ Functions used :
;
; 2 /
; 41 +
; 8 -
; 16 ==
; 6 <>
; 8 <
; 3 <=
; 4 >
; 6 >=
; 37 !
; 7 &&
; 4 ||
; 4 Len(
; 1 Upper()
; 1 Mid()
; 1 Left()
; 8 Chr()
; 1 Asc()
; 3 Time()
; 1 U_Name()
; 5 Replace()
; 3 Inkey()
; 2 String()
; 6 PPEPath()
; 1 PcbNode()
; 2 UN_Name()
; 4 Exist()
; 2 FileInf()
; 10 ScrText()
; 3 Crc32()
; 1 PCBMac()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 2 While/EndWhile
; 29 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------